package org.lanqiao.tjut.action;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.lanqiao.tjut.bean.AdminBean;
import org.lanqiao.tjut.service.IUserLoginService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class UserLoginAction {

	/*
	 * 使用注解@Resource层，依赖注入该属性的值，依赖于与变量名同名的一个注解对象
	 * 注意：该变量的声明使用接口，该变量通过依赖关系注入的对象值是该接口的一个具体的实现类的实例对象，
	 *     此处使用了面向接口的编程思想
	 */
	@Resource
	private IUserLoginService userS;

	@RequestMapping("/LoginAction")
	public String doAdminLogin(HttpServletRequest request, AdminBean adminB) {
		// 调用service层进行管理员登录业务逻辑处理
		// 获取登录用户信息
		List<AdminBean> lstAdmins = userS.getUserLoginInfo(adminB);
		// 跳转到登录成功的页面,页面跳转之后的代码不会再被执行
		// 判定是否登录成功
		if (lstAdmins != null && lstAdmins.size() > 0) {
			// 登录成功
			// 将登陆成功的用户信息，缓存到session中
			request.getSession().setAttribute("LoginedAdminInfo", lstAdmins.get(0));
			// 跳转到指定名的显示视图(需要剃掉配置文件中指定的前缀和后缀)
			return ("logined");
		} else {
			// 登录失败
			return ("../../login");
		}
	}
}
